/**
 *
 * @param todosRef
 */
import { ref } from 'vue'
import { todosRef, todoList } from './types'
import { generateId } from '@/utils/todoStorage'
export default function (todos: any) {
  const newTodoRef = ref<todosRef>('')
  const todoItem = ref<todoList>({
    id: '',
    title: '',
    completed: false,
  })
  const addTodo = () => {
    const value = newTodoRef.value && newTodoRef.value.trim()
    // 不存在
    if (!value) return
    // 生成一个任务对象，将其加入到任务列表中
    const todo: todoList = {
      id: generateId(),
      title: value,
      completed: false,
    }
    // 存储
    todos.value.push(todo)
    // 清空
    newTodoRef.value = ''
  }
  const removeTodo = (nowTodo: todoList) => {
    todos.value = todos.value.filter((item: todoList) => item.id !== nowTodo.id)
  }
  const editTodo = (nowTodo: todoList) => {
    todoItem.value = nowTodo
    newTodoRef.value = nowTodo.title
  }
  return {
    newTodoRef,
    addTodo,
    removeTodo,
    editTodo,
  }
}
